package com.dabai.iot.core.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.dabai.common.mybatis.core.page.TableDataInfo;
import com.dabai.iot.core.entity.ProductTopicEntity;
import lombok.NonNull;

import java.util.List;

/**
 * 消息主题 Service 接口
 *
 * @author kev1n
 */
public interface IProductTopicService extends IService<ProductTopicEntity> {

    /**
     * 新增
     */
    boolean addTopic(ProductTopicEntity productTopic);

    /**
     * 修改
     */
    boolean updateTopic(ProductTopicEntity productTopic);

    /**
     * 删除（只能删除自定义 Topic）
     */
    boolean removeTopic(Long id);

    /**
     * 列表
     */
    List<ProductTopicEntity> selectList(@NonNull Long productId, String topicSourceType, String topicDirection);

    /**
     * 分页
     */
    TableDataInfo<ProductTopicEntity> selectPage(IPage<ProductTopicEntity> page, Long productId, String topicSourceType, String topicDirection);

}
